The present invention relates to data processing sytems and more particularly to apparatus for simplifying the expansion of such systems.
Configuring computer systems to individual needs or desires, by adding system peripheral modules such as video display devices, floppy disk data storage devices, printer communication facilities, telephone management systems and the like is often done.
The addition of new capabilities to the computer system requires the plugging of interface circuit cards into the available slots of the computer board. However, after each module addition or subtraction, the control processor must be able to address separately every interface card plugged on the board. The problem of address allocation has been known for many years, and different solutions have been worked out.
With respect to a first solution in the prior art, each interface circuit card has resident decoding circuity so that when the control processor wants to communicate with a card, the interface circuit can be addressed, irrespective of its physical location among the slots. That device is disclosed in FIG. 1. The control processor generates the address through address bus 106 on which adapter card 105 is connected. That adapter is personalized by switches or straps 101 to 103 and others. Comparator 104 enables the selection of the card by lead 107 if the two addresses coincide. The main drawback is that manual intervention is required at installation time which may lead to configuration errors. This also involves more detailed customer documentation booklets and entails complex maintenance operations. This solution also prevents the user of a computer system from plugging two similar cards which do not have a resident decoding circuitry. In the personal computer, for instance, since no strap or switch exists on the SDLC (Serial Data Link Controller) adapter, the latter has a unique address and therefore only one card of this type can be plugged.
A second solution in the prior art which does not require manual intervention at installation time is based on the same principle apart from the fact that the switches or straps are located on the board. The different addresses are determined by decoding a bit configuration specific to each slot. That feature, even though avoiding manual intervention, entails new disadvantages. Since the address must be provided by the physical slot of the board, the computer board must obviously be designed to provide this information and thus rule out any small computer system like the personal computer from that capability. In addition, that solution does not allow any longer the possibility of plugging one interface card in a slot irrespective of its physical location on the board and prevents the plugging of two identical cards which have no specific decoding means (for instance two memory extension cards).
The circuitry which effects a serial scanning of the "ordered" slots has, in the prior art, been some form of "daisy chain" configuration. By using a signal which is chained through all adapters, it becomes possible to let each adapter communicate successively with the main processor and assign different addresses. FIG. 2 illustrates that principle. A daisy chain signal on lead 203 goes through adapter card 200 which can then give the priority to the next adapter card 201 and so on. The card does not need a specific manipulation at installation time and can be plugged in any of the slots. However, such configuration requires that there be no empty or vacant slots and that the base machine is designed to provide the priority information. The board needs a particular signal with an input and an output on each slot only involved during the initialization period of the addressing.
U.S. Pat. No. 4,556,953 "Interchangeable interface circuitry arrangements for use with a data processing system" by A. Ronald Caprio et al, discloses an arrangement whereby any one of a plurality of different or similar interface circuit cards can be located into any one of a number of slots without preassignment. This device implies that the base machine is designed to provide such function. Particularly, it requires an extra lead for transmitting a signal which indicates that there is an option card present at the particular physical location in which the card is inserted. Thus, that feature cannot be used on a small system such as the personal computer.